package io.renren.modules.bs.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.modules.app.dto.DischargeRegistrationDto;
import io.renren.modules.app.dto.PatientDto;
import io.renren.modules.app.dto.WardRoundReportDto;
import io.renren.modules.app.vo.AllReportVo;
import io.renren.modules.app.vo.BsDepartmentPatientVo;
import io.renren.modules.bs.dto.ExtraDto;
import io.renren.modules.bs.entity.BsPatientEntity;
import io.renren.modules.bs.vo.*;

import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2019-08-15 23:03:15
 */
public interface BsPatientService extends IService<BsPatientEntity> {

    PageUtils queryPage(Map<String, Object> params);

    List<PatientOptionVo> getOptionsByName(String patientName);

    Integer getExtractableNumber(Integer extraType, Long dataValue);

    List<TreeVo> getTreeData(Integer level, String joinId);

    List<ExtraPatientVo> extra(List<ExtraDto> extraDtos);

    void randomExtra(Integer extraNumber);

    void savePatient(PatientDto patientDto);

    LookDetailVo getDetailData(Long extractDetailPatientId);

    void dischargeRegistration(DischargeRegistrationDto patientDto);

    BsDepartmentPatientVo getModelById(Long departmentPatientId);

    void updateModelById(BsDepartmentPatientPageVo departmentPatientVo);

    void wardRoundReport(WardRoundReportDto wardRoundReportDto);

    AllReportVo getReportList(Long departmentId);

    Integer countByIdNumber(String idNumber);
}

